Aspects of the present invention relate generally to the field of video processing, and more specifically to the encoding and decoding of video data.
In video coding systems, an encoder may code a source video sequence into a coded representation that has a smaller bit rate than does the source video and thereby achieve data compression. Using predictive coding techniques, some portions of a video stream may be coded independently (intra- coded I-frames) and some other portions may be coded with reference to other portions (inter- coded frames, e.g., P-frames or B-frames). Such coding often involves exploiting redundancy in the video data via temporal or spatial prediction, quantization of residuals and entropy coding. Previously coded frames, also known as reference frames, may be temporarily stored by the encoder for future use in inter-frame coding. Thus a reference frame cache stores frame data that may represent sources of prediction for later-received frames input to the video coding system. The resulting compressed data (bitstream) may be transmitted to a decoding system via a channel. To recover the video data, the bitstream may be decompressed at a decoder by inverting the coding processes performed by the encoder, yielding a recovered decoded video sequence.
When coded video data is decoded after having been retrieved from a channel, the recovered video sequence replicates but is not an exact duplicate of the source video. Moreover, video coding techniques may vary based on variable external constraints, such as bit rate budgets, resource limitations at a video encoder and/or a video decoder or the display sizes that are supported by the video coding systems. In many coding applications, there is a continuing need to maximize bandwidth conservation. When video data is coded for consumer applications, such as portable media players and software media players, the video data often is coded at data rates of approximately 8-12 Mbits/sec and sometimes 4 MBits/sec from source video of 1280×720 pixels/frame, up to 30 frames/sec.
In many systems, bandwidth is rising but latency is typically limited to a large extent by the speed signals travel, and therefore remains consistent or may even be rising due to buffer delays. Furthermore, many common file formats were not designed for modern media delivery techniques, notably streaming and one-to-many distribution (broadcast, multicast, application layer multicast or peer-to-peer distribution). Conventionally, bandwidth efficiency has been achieved when round-trip delay cost is amortized over larger data objects, such as segments. HTTP streaming is one example of an environment that addresses these issues but the format for such media in that instance is dependent on the delivery system.
Accordingly, there is a need in the art for a new file format designed to simplify and modernize existing file formats while still re-using existing formats as much as possible, to allow for easy conversion between delivery and storage, and optimization for media delivery.